lib/pull: Move check for requested content earlier
authorColin Walters <walters@verbum.org>
Thu, 29 Jun 2017 19:01:16 +0000 (15:01 -0400)
committerAtomic Bot <atomic-devel@projectatomic.io>
Fri, 30 Jun 2017 19:37:23 +0000 (19:37 +0000)
This is prep for a later patch; currently the logic is unchanged, but we'll need
this if we make local imports async.

Closes: #982
Approved by: jlebon

src/libostree/ostree-repo-pull.c

index fd9e9aff4252697596c28eac876a06c734fa39b6..fb0c9e824b96fd57966c8cd677b458acd51965a4 100644 (file)
@@ -702,13 +702,17 @@ scan_dirtree_object (OtPullData   *pull_data,
       if (file_is_stored)
         continue;
 
+      /* Already have a request pending?  If so, move on to the next */
+      if (g_hash_table_lookup (pull_data->requested_content, file_checksum))
+        continue;
+
       /* Is this a local repo? */
       if (pull_data->remote_repo_local)
         {
           if (!import_one_local_content_object (pull_data, file_checksum, cancellable, error))
             return FALSE;
         }
-      else if (!g_hash_table_lookup (pull_data->requested_content, file_checksum))
+      else
         {
           /* In this case we're doing HTTP pulls */
           g_hash_table_add (pull_data->requested_content, file_checksum);